package com.ship.dispatch.vo.report;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
public class ReportInfoVo implements Serializable {
    /**
     * 统计报表配置信息表id
     */
    @ApiModelProperty(value = "统计报表配置信息表id")
    private Long id;
    /**
     * 统计报表渲染表id
     */
    @ApiModelProperty(value = "统计报表渲染表id")
    private Long reportId;
    /**
     * 状态(预留字段)
     */
    @ApiModelProperty(value = "状态(预留字段)")
    private Integer status;
    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer chartSort;

    /**
     * 所占格数
     */
    @ApiModelProperty(value = "所占格数")
    private Integer chartNum;

    /**
     * 图表项名称
     */
    @ApiModelProperty(value = "图表项名称")
    private String chartName;

    /**
     * 图表类型（1：数字，2：饼图，3：柱状图）
     */
    @ApiModelProperty(value = "图表类型（1：数字，2：饼图，3：柱状图）")
    private Integer chartType;

    /**
     * 数据源类型（ 1、接口 2、sql）（预留字段）
     */
    @ApiModelProperty(value = "数据源类型（ 1、接口 2、sql）（预留字段）")
    private Integer dataSourceType;

    /**
     * 数据源信息（预留字段）
     */
    @ApiModelProperty(value = "数据源信息（预留字段）")
    private String dataSource;

    /**
     * 图形渲染配置
     */
    @ApiModelProperty(value = "图形渲染配置")
    private String chartSetting;

    /**
     * x占位符
     */
    @ApiModelProperty(value = "x占位符")
    private Integer xNum;

    /**
     * y占位符
     */
    @ApiModelProperty(value = "y占位符")
    private Integer yNum;

    /**
     * w占位符
     */
    @ApiModelProperty(value = "w占位符")
    private String wNum;

    /**
     * h占位符
     */
    @ApiModelProperty(value = "h占位符")
    private String hNum;

    /**
     * i占位符
     */
    @ApiModelProperty(value = "i占位符")
    private Integer iNum;

    /**
     * static的值
     */
    @ApiModelProperty(value = "static的值")
    private Integer staticValue;

    /**
     * 是否添加工作台（1：已添加，2：未添加）
     */
    @ApiModelProperty(value = "是否添加工作台（1：已添加，2：未添加）")
    private Integer workbench;

    /**
     * 主题颜色
     */
    @ApiModelProperty(value = "主题颜色")
    private String themeColor;

    /**
     * 图表元素(0:图例,1:数据标签,2:网格线)
     */
    @ApiModelProperty(value = "图表元素(0:图例,1:数据标签,2:网格线)")
    private String chartElement;

    /**
     * 统计值格式
     */
    @ApiModelProperty(value = "统计值格式(0:数字,1:百分比,2:人民币,3:美元,4:欧元)")
    private String statisValueFormat;

    @ApiModelProperty(value = "数据集合")
    private Object dataObject;

    /**
     * 当前表格查询时间类型（0:自定义时间段，1：近一周，2：近一月，3：近三月，4：近六月，5近一年）
     */
    @ApiModelProperty(value = "当前表格查询时间类型（0:自定义时间段，1：近一周，2：近一月，3：近三月，4：近六月，5近一年）")
    private Integer dateType;

    /**
     * 自定义开始时间
     */
    @ApiModelProperty(value = "自定义开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 自定义结束时间
     */
    @ApiModelProperty(value = "自定义结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endDate;
}
